04. process {SP}
- parent: 0015.2 Systems Programming {ssu2021-1st} ๐ผ
- week04 ์ฐธ๊ณ
INDEX
- ELF format
- memory layout
ํ๋ก๊ทธ๋จ์ด ํ๋ก์ธ์ค๊ฐ ๋๋ ๊ณผ์
The executable file is loaded into memory to become a process
์คํ์์ญ๊ณผ ํ ์์ญ, ์ปค๋ ์์ญ์ ์์น์ ์ฃผ๋ชฉํ์. ์คํ์ higher addr์์ ๋ด๋ ค์ค๊ณ ํ์ lower addr์์ ์ฌ๋ผ์จ๋ค. brk์ ํ์์ญ์ ๋ง์ง๋ง ๋ถ๋ถ์ ์๋ฆฌํ๊ณ ์์ผ๋ฉฐ, brk๊ฐ ๋์ ํ ๋น์ ์์นํ๋ ์์ผ๋ก ์๋ํจ.
Stack Frame
ํจ์๊ฐ ํธ์ถ์ด ๋๋ฉด ์คํ์์ญ์ ์คํํ๋ ์์ด ์ถ๊ฐ๊ฐ ๋๋๋ฐ, ๊ทธ ์์๋ ๋ก์ปฌ ๋ณ์๋ค, ํจ์ ์ธ์๋ค์ด ํจ๊ป ๋ค์ด์จ๋ค. ๋ชจ๋ ํ๋ก๊ทธ๋จ์ mainํจ์๊ฐ ์์ด์ผ ํ๋ ๋ชจ๋ ํ๋ก์ธ์ค๋ค์ ์คํ์ ๊ฐ์ฅ ์๋ถ๋ถ์๋ main๊ณผ ๊ด๋ จํ ์คํํ๋ ์์ด ์๋ค. ํ๋ก๊ทธ๋จ ํธ์ถ ์ ๊ฐ์ด ์ ๊ณตํ๋ ์ธ์๋ค, ์ ์ฅ๋ PC(Program Counter)๋ค์ด ์ ์ฅ์ด ๋์ด์๋ค. ํจ์๋ฅผ ํธ์ถํ ๋๋ง๋ค ์๋์ผ๋ก ์คํ์์ญ์ด ์ฆ๊ฐํ๋ค.
Heap
ํ์์ญ์ program break๋ผ๋ ๋ณ์๋ฅผ ์ปค๋์ด ๊ด๋ฆฌํ๋๋ฐ, ํ๋ก๊ทธ๋จ์ด ์ง์ ์ปค๋์๊ฒ break๋ฅผ ์ฎ๊ฒจ๋ฌ๋ผ๋ ์์ฒญ์ ํด์ผ์ง๋ง ๋ฐ๋๋ค. ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์์ฒญํ๋ ํ์๊ฐ ์ด๊ฒ์ด๋ผ๊ณ ๋ณผ ์ ์๋ค.